1. Field of the Invention
The present invention relates to a method and system for performing a real-time operation using processors. More specifically, the invention relates to a scheduling method in which threads for performing a real-time operation are assigned to a plurality of processors and a real-time processing system to which the scheduling method is applied.
2. Description of the Related Art
Conventionally, computer systems such as server computers have utilized system architecture such as a multiprocessor and a parallel processor in order to improve in throughput. Both of the multiprocessor and parallel processor achieve a parallel computing operation using a plurality of processing units.
Jpn. Pat. Appln. KOKAI Publication No. 10-143380 discloses a computer system having a plurality of processing units. This computer system includes a single high-speed CPU, a plurality of low-speed CPUs and a shared memory. Processes are assigned to the high-speed and low-speed CPUs in consideration of parallelism and execution time of each process.
Jpn. Pat. Appln. KOKAI Publication No. 8-180025 discloses a scheduling technique of scheduling threads such that threads belonging to the same process are executed on the same processor.
Not only the computer system but also an embedded device, which needs to process a large amount of data such as AV (audio video) data in real time, has recently required that system architecture such as a multiprocessor and a parallel processor be introduced to improve in throughput.
Under the present circumstances, however, a real-time processing system that is predicated on the above system architecture is hardly reported.
In a real-time processing system, each operation needs performing under given timing constraint. If, however, system architecture such as a multiprocessor and a parallel processor is applied to the real-time processing system, latency associated with communications between threads executed by different processing units becomes a serious problem.
Usually, communications for transferring data between threads executed by different processing units need carrying out through a buffer on a shared memory. This is because a defect has to be prevented from occurring in data transferred between threads even though the threads are executed by any processor with any timing.